/**
 * 当前这个模块：api进行统一管理
 */
// 引入二次封装的axios(带有请求，响应的拦截器)
import requests from './request'
import mockRequests from './mockAjax'

// 三级联动的接口
/**
 * 请求地址：http://gmall-h5-api.atguigu.cn/api   get 无参数
 */

/**
 * 对外暴露一个函数，只要外部调用这个函数，就向服务器发起ajax请求，获取三级菜单数据，把服务器返回的结果返回即可
 * /product/getBaseCategoryList 
 */
export const reqCategoryList = ()=>{
    // 发请求:axios发请求返回结果是Promise对象
    return requests(
        {
            url:'product/getBaseCategoryList',
            method:'get'
        }
    )
}

// 获取banner(Home首页轮播图接口)
export const reqGetBannerList=()=>mockRequests.get('/banner')
// 获取floor数据
export const reqFloorList = ()=>mockRequests.get('/floor')

// 获取搜索模块接口 地址：/api/list  post请求  带参数
/*
   {
     "category3Id": "61",
    "categoryName": "手机",
    "keyword": "小米",
    "order": "1:desc",
    "pageNo": 1,
    "pageSize": 10,
    "props": ["1:1700-2799:价格", "2:6.65-6.74英寸:屏幕尺寸"],
    "trademark": "4:小米"
    }
 * 当前的接口，给服务器传递的params，至少是一个空对象，默认值
 */
export const reqGetSearchInfo=(params)=>requests({
    url:'/list',
    method:'post',
    data:params
})

// 获取产品情信息的接口 地址：/api/item/{skuid}  get 带参数
export const reqGoodsInfo=(skuId)=>requests({
    url:`/item/${skuId}`,
    method:'get'
})

/**购物车接口 */

// 将产品添加到购物车中||更新某一个产品的个数  /api/cart/addToCart/{ skuId }/{ skuNum }  post 带两个参数
export const reqAddOrUpdateShopCart=(skuId,skuNum)=>requests({
    url:`/cart/addToCart/${ skuId }/${ skuNum }`,
    method:'post'
})

// 获取购物车列表数据接口 /api/cart/cartList get
export const reqCartList=()=>requests({
    url:'/cart/cartList',
    method:'get'
})

// 删除购物车产品的接口 /api/cart/deleteCart/{skuId}  delete 带参数
export const reqDeleteCartById=(skuId)=>requests({
    url:`/cart/deleteCart/${skuId}`,
    method:'delete'
})

// 修改商品的选中状态 /api/cart/checkCart/{skuId}/{isChecked} get 带参数
export const reqUpdateCheckedByid=(skuId,isChecked)=>requests({
    url:`/cart/checkCart/${skuId}/${isChecked}`,
    method:'get'
})

/**登录注册接口 */

// 获取验证码 /api/user/passport/sendCode/{phone}  get 带参数(手机号)
export const reqGetCode=(phone)=>requests({
    url:`/user/passport/sendCode/${phone}`,
    method:'get'
})

// 注册 /api/user/passport/register post 带参数(手机号，验证码，密码)
export const reqUserRegister=(data)=>requests({
    url:`/user/passport/register`,
    data:data,
    method:'post'
})

// 登录 /api/user/passport/login post 带参数(手机号，密码)
export const reqUserLogin=(data)=>requests({
    url:`/user/passport/login`,
    data,
    method:'post'
})

// 获取用户信息【需要携带用户的token向服务器要用户信息】 
///api/user/passport/auth/getUserInfo  get 
export const reqUserInfo=()=>requests({
    url:'/user/passport/auth/getUserInfo',
    method:'get'
})

// 退出登录 /api/user/passport/logout get 没有参数
export const reqLogout=()=>requests({
    url:'/user/passport/logout',
    method:'get'
})

/** 订单交易 */

// 获取用户地址信息 
// /api/user/userAddress/auth/findUserAddressList  get 没有参数
export const reqAddressInfo=()=>requests({
    url:'/user/userAddress/auth/findUserAddressList',
    method:'get'
})

// 获取商品清单
// /api/order/auth/trade get 
export const reqOrderInfo=()=>requests({
    url:'/order/auth/trade',
    method:'get'
})

// 提交订单(不用vuex)
// /api/order/auth/submitOrder?tradeNo={tradeNo} post 带参数
export const reqSubmitOrder=(tradeNo,data)=>requests({
    url:`/order/auth/submitOrder?tradeNo=${tradeNo}`,
    data,
    method:'post'
})

// 支付信息
// /api/payment/weixin/createNative/{orderId} get
export const reqPayInfo=(orderId)=>requests({
    url:`/payment/weixin/createNative/${orderId}`,
    method:'get'
})

// 获取支付订单状态
// /api/payment/weixin/queryPayStatus/{orderId} get 带参数
export const reqPayStatus=(orderId)=>requests({
    url:`/payment/weixin/queryPayStatus/${orderId}`,
    method:'get'
})


// 获取个人中心的数据
export const reqMyOrderList=(page,limit)=>requests({
    url:`/order/auth/${page}/${limit}`,
    method:'get'
})